package com.ch.chatbot.domain.model.vo;

import lombok.Builder;
import lombok.Data;

import java.util.List;

@Data
@Builder
public class ChatGptTemplate {
    //模型ID
    private String model;

    //生成提示
    private String prompt;

    //温度 于0和2之间。较高的值（如0.8）将使输出更加随机，而较低的值（例如0.2）将使其更加集中和确定 通常建议更改它或top_p，但不能同时更改两者
    private double temperature;

    //完成时要生成的最大token数量
    private int max_tokens;

    //一种用温度采样的替代品，称为核采样，其中模型考虑了具有top_p概率质量的token的结果。因此，0.1意味着只考虑包含前10%概率质量的token。
    private double top_p;

    //-2.0~2.0 正值根据迄今为止文本中的现有频率惩罚新token，从而降低了模型逐字重复同一行的可能性
    private double frequency_penalty;

    //-2.0~2.0  正值根据新token到目前为止是否出现在文本中来惩罚它们，这增加了模型谈论新主题的可能性
    private double presence_penalty;

    //最多4个序列，API将停止生成进一步的token。返回的文本将不包含停止序列
    private List<String> stop;
}
